Soft demapping for MIMO decoding

ABSTRACT

A look-up table having distance information corresponding to a distance between a potential candidate symbol and a most proximate competing symbol for each bit of a plurality of potential candidate symbols is provided for a given modulation type. A MIMO decoder will obtain multiple candidate symbols that are provided in a maximum likelihood solution and that correspond to each of the antenna layers of a MIMO wireless communication system. A first candidate symbol is selected from the plurality of candidate symbols, wherein the first candidate symbol corresponds to a first potential candidate symbol of the candidate symbols provided in the look-up table. Distance information is obtained from the look-up table for each bit of the first potential candidate symbol. Likelihood indicium is determined for each bit of the first candidate symbol as a function of the distance information that was obtained for each bit.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application Ser.No. 60/868,176 filed Dec. 1, 2006, the disclosure of which isincorporated herein by reference in its entirety.

This application is related to U.S. utility application Ser. No.12/948,644 filed concurrently herewith and entitled ANTENNA SELECTIONFOR MIMO DECODING, the disclosure of which is incorporated herein byreference in its entirety.

FIELD OF THE INVENTION

The present invention relates to wireless communications, and inparticular to enhanced Multiple Input Multiple Output decoding.

BACKGROUND OF THE INVENTION

Wireless communications have become ubiquitous in modern society, andwith the ever-increasing demand for bandwidth, there are significantpressures to increase the effective bandwidth in wireless communicationsystems. One technique for increasing bandwidth in a wirelesscommunication system is to employ spatial diversity, where differentdata streams are transmitted from multiple transmit antennas to multiplereceive antennas of a receiving device. The data streams may betransmitted from different devices that have a single antenna, from asingle device that has multiple antennas, or any combination thereof.Systems that use multiple transmit antennas and multiple receiveantennas are generally referred to as Multiple Input Multiple Output(MIMO) systems.

Certain MIMO systems are configured to employ spatial multiplexing,where the different data streams are transmitted at the same time usingthe same communication resource, such as a particular carrier orsub-carrier. Although each data stream is only transmitted from onetransmit antenna, all of the data streams are received at each of themultiple receive antennas. The different data streams propagate overdifferent paths and tend to interfere with one another as they aretransmitted from the respective transmit antennas to the receiveantennas. As such, a different aggregation of all of the transmitteddata streams is received at each of the receive antennas.

To recover each of the originally transmitted data streams from theaggregated signals that are received at each of the receive antennas,the receiving device employs a MIMO decoder. The MIMO decoderessentially processes the aggregated signals to extract each of theoriginally transmitted data streams. This extraction process iscomputationally intensive and involves significant amounts of matrixmanipulation, such as matrix addition, subtraction, division, inversion,and the like. To further complicate matters, these computations areiterative in nature and generally need to be provided on asymbol-by-symbol basis for each of the transmitted data streams.

While wireless systems are expected to provide ever-higher performanceto meet consumer demand, equipment providers are under continuouspressure by service providers and consumers to provide the performanceenhancements at lower costs. Unfortunately, computational power and thecosts are directly related. Since MIMO decoding is one of the mostcomputationally intensive processes in a MIMO receiver, there is a needfor a technique to reduce the complexity of the computations for theextraction process provided by the MIMO decoder. There is a further needto reduce the complexity of the computations without negativelyimpacting the overall performance of the MIMO receiver.

SUMMARY OF THE INVENTION

The present invention relates to efficient and effective soft demappingin a MIMO decoder for use in a MIMO wireless communication system.Signals that are received via multiple antennas are processed bypre-demodulation circuitry to provide received symbols for use by theMIMO decoder. The MIMO wireless communication system supports multipleantenna layers. Each antenna layer is associated with a transmitted datastream that was transmitted from a different transmit antenna. In oneembodiment, a look-up table having distance information corresponding toa distance between a potential candidate symbol and a most proximatecompeting symbol for each bit of a plurality of potential candidatesymbols is provided for a given modulation type. If the differentantenna layers employ different types of modulation, the look-up tablemay include corresponding distance information for each modulation type.The MIMO decoder will obtain multiple candidate symbols that areprovided in a maximum likelihood solution and that correspond to each ofthe antenna layers of the MIMO wireless communication system. A firstcandidate symbol is selected from the plurality of candidate symbols,wherein the first candidate symbol corresponds to a first potentialcandidate symbol of the candidate symbols provided in the look-up table.Distance information is obtained from the look-up table for each bit ofthe first potential candidate symbol. Likelihood indicium is determinedfor each bit of the first candidate symbol as a function of the distanceinformation that was obtained for each bit. The likelihood indicium fora given bit is indicative of the likelihood that a value for the givenbit is a logic 1 or a logic 0.

Those skilled in the art will appreciate the scope of the presentinvention and realize additional aspects thereof after reading thefollowing detailed description of the preferred embodiments inassociation with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part ofthis specification illustrate several aspects of the invention, andtogether with the description serve to explain the principles of theinvention.

FIG. 1 is a block representation of a MIMO communication environmentaccording to one embodiment of the present invention.

FIG. 2 is a block representation of a receiver according to oneembodiment of the present invention.

FIG. 3 is a block representation of a MIMO decoder according to oneembodiment of the present invention.

FIG. 4 is a logical flow diagram illustrating operation of an antennalayer selection function according to one embodiment of the presentinvention.

FIG. 5 illustrates a quadrature phase shift keying (QPSK) symbolconstellation according to one embodiment of the present invention.

FIG. 6 is a logical flow diagram illustrating operation of a firstembodiment of a soft demapping function according to one embodiment ofthe present invention.

FIG. 7 is a logical flow diagram illustrating operation of a secondembodiment of a soft demapping function according to one embodiment ofthe present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information toenable those skilled in the art to practice the invention and illustratethe best mode of practicing the invention. Upon reading the followingdescription in light of the accompanying drawing figures, those skilledin the art will understand the concepts of the invention and willrecognize applications of these concepts not particularly addressedherein. It should be understood that these concepts and applicationsfall within the scope of the disclosure and the accompanying claims.

Although the concepts of the present invention may be used in variouscommunication systems, these concepts are particularly applicable to theIEEE 802.16 standard, which is commonly referred to as the WiMAXstandard. As illustrated in FIG. 1, a MIMO system 10 will employmultiple transmit antennas TA_(n) and multiple receive antennas RA_(m)to facilitate communications, wherein n and m represent the number oftransmit antennas and receive antennas, respectively. Generally, thedifferent receive antennas RA_(m) for a MIMO system 10 are coupled to asingle receiver RX of a receiving terminal 12. As depicted, each of anumber of transmitting terminals 14 may have one transmitter TX_(n) andan associated transmit antenna TA_(n), where multiple transmittingterminals 14 cooperate to provide MIMO communications with a givenreceiving terminal 12. In other embodiments, a single transmittingterminal 14 may have and use multiple transmit antennas TA_(n) tosupport MIMO communications with the receiving terminal 12.

The MIMO system 10 employs the multiple transmit antennas TA_(n), totransmit different data streams TD_(n) to the different receive antennasRAm at substantially the same time while using the same wirelessresource, such as a carrier or Orthogonal Frequency Division Multiplexed(OFDM) sub-carrier. In operation, a first transmit antenna TA₁ transmitsa first data stream TD₁ using a selected wireless resource, a secondtransmit antenna TA₂ transmits a second data stream TD₂ using the samewireless resource, and so on and so forth. Since the data streams TD_(n)are transmitted using the same wireless resource at substantially thesame time, the data streams tend to combine and interfere with eachother in various ways as they propagate toward the receive antennasRA_(m). As such, each receive antenna RA_(m) will receive a differentreceive signal RS_(m), each of which represents a unique composite ofall of the data streams TD_(n) that were transmitted from the differenttransmit antennas TA_(n). The composite signals are presented to thereceiver RX for processing, as will be described further below.

The effective communication path between any one transmit antenna TA_(n)and any one receive antenna RA_(m) is often referred to as a channel.Each channel is associated with a transfer function, h, which representsthe impact the particular channel has on the transmitted data streamsTD_(n). As illustrated, there are two transmit antennas TA₁, TA₂ and tworeceive antennas RA₁, RA₂, which use four channels. The transferfunction, h_(tr), for each channel is represented where t and r identifythe corresponding transmit antennas, TA₁, TA₂ and receive antennas RA₁,RA₂, respectively, for the given channel. Thus, the channel betweentransmit antenna TX₁ and receive antenna RA₂ has a transfer functionh₁₂.

As noted, each received signal RS_(m) is a unique composite of all ofthe transmitted data streams TD_(n), and in particular, each receivedsignal RS_(m) is a unique composite of all of the transmitted datastreams TD_(n) in light of the transfer functions h_(tr) for thecorresponding channels. The received signals RS_(m) are mathematicallyrepresented in general as follows:

$\begin{matrix}{{{RS}_{1} = {{h_{11}{TD}_{1}} + {h_{21}{TD}_{2}} + {\ldots\mspace{14mu} h_{n\; 1}{TD}_{n}}}};} \\{{{RS}_{2} = {{h_{12}{TD}_{1}} + {h_{22}{TD}_{2}} + {\ldots\mspace{14mu} h_{n\; 2}{TD}_{n}}}};} \\\vdots \\{{{RS}_{m} = {{h_{1m}{TD}_{1}} + {h_{2m}{TD}_{1}} + {\ldots\mspace{14mu} h_{nm}{TD}_{n}}}},}\end{matrix}$and in matrix form as a received signal vector {right arrow over (r)}:

-   -   {right arrow over (r)}=H{right arrow over (t)}, where:

the transmitted data stream TD_(n) can be represented by a vector {rightarrow over (t)}=[TD₁, TD₂, . . . TD_(n)];

the received signals RS_(m) can be represent as a vector {right arrowover (r)}=[RS₁, RS₂, . . . RS_(n)]; and

the overall transfer function of the MIMO system can be represented inmatrix form by:

$H = {\begin{matrix}h_{11} & h_{21} & \cdots & h_{n\; 1} \\h_{12} & h_{22} & \cdots & h_{n\; 2} \\\vdots & \vdots & \; & \vdots \\h_{1m} & h_{2m} & \cdots & h_{n\; m}\end{matrix}.}$

The goal of the receiver RX is to recover each of the originallytransmitted data streams TD_(n) based on the received signals RS_(m),which are received at each of the receive antennas RA_(m). The receivercan determine the channel transfer functions h_(tr) for each pertinentchannel using known channel estimating techniques and create anappropriate channel matrix H for the MIMO system. Since the receiver RXhas the received signal vector {right arrow over (r)} and the overallchannel matrix H, the receiver RX can readily determine the transmitteddata vector {right arrow over (t)}, and thus, each of the transmitteddata streams. In particular,

-   since {right arrow over (r)}=H{right arrow over (t)},-   solving for transmitted data vector {right arrow over (t)} provides:-   {right arrow over (t)}=H⁻¹ {right arrow over (r)}, where the    received signal vector {right arrow over (r)} and the channel matrix    H are known and H⁻¹ is the Moore-Penrose pseudo inverse of channel    matrix H.    This process is equivalent to estimating for X unknown variables    with X or more equations using matrix manipulation. Notably, each    element of the calculated transmitted data vector {right arrow over    (t)} corresponds to a symbol in one of the originally transmitted    data streams TD_(n). Thus, a symbol for each of the originally    transmitted data streams TD_(n) is available once the transmitted    data vector {right arrow over (t)} is calculated.

With reference to FIG. 2, a basic architecture for a receiver RX isillustrated along with two receive antennas RA₁, RA₂. Those skilled inthe art will recognize that the receiver RX may be associated with anynumber of receive antennas. The received signals RS₁, RS₂ are receivedat the receive antennas RA₁, RA₂, respectively, and processed bypre-demodulation circuitry 16 to recover received symbols for each ofthe received signals RS₁, RS₂ from the carriers or sub-carriers on whichthe symbols were originally modulated. For any given period, thepre-demodulation circuitry 16 will provide a received symbol for each ofthe received signals RS₁, RS₂. Each received symbol represents acomposite of the multiple symbols that were transmitted from each of thetransmit antennas TA₁, TA₂. The received symbols recovered from each ofthe received signals RS₁, RS₂ are provided to a MIMO decoder 18.Further, the pre-demodulation circuitry 16 also provides information tochannel estimation circuitry 20, which determines transfer functionsh_(tr) for the corresponding channels between the transmit antennas TA₁,TA₂ and the receive antennas RA₁, RA₂.

Armed with the transfer functions h_(tr) for the corresponding channels,the MIMO decoder 18 can generate the overall channel matrix H and itsMoore-Penrose pseudo inverse (H⁻¹). If the received signal vector {rightarrow over (r)} is made up of the received symbols from the receivesignals RS₁, RS₂, the MIMO decoder 18 can determine the transmitted datavector {right arrow over (t)} by multiplying the Moore-Penrose pseudoinverse of channel matrix (H⁻¹) and the received signal vector {rightarrow over (r)}, according to the above derived equation: {right arrowover (t)}=H⁻¹ {right arrow over (r)}. Since the elements of the receivedsignal vector {right arrow over (r)} are received symbols, thetransmitted data vector comprises the originally transmitted symbols{right arrow over (t)}, which were transmitted from each of the transmitantennas TA₁, TA₂.

The recovered symbols are demapped into corresponding bits based on thetype of symbol level modulation used at the transmitters TA₁, TA₂. Thesymbol level modulation may correspond to quadrature phase shift keying(QPSK), any order of quadrature amplitude modulation (QAM) and anyconstellation based modulation. Importantly, the present inventionsupports the use of the same or different types of symbol levelmodulation by the different transmitters TX₁, TX₂ at the same time. Forexample, transmitter TX₁ may employ QPSK modulation, while transmitterTX₂ employs 16-QAM or 64-QAM modulation. As a further example,transmitter TX₁ may employ 16-QAM demodulation, while transmitter TX₂employs 64-QAM modulation. Regardless of the symbol level modulation,the MIMO decoder 18 of the present invention is able to efficientlyrecover the respective symbols and demap the symbols into correspondingbits, as will be described in further detail below. The recovered bitsare passed to the post demodulation processor 22 in association with theoriginating transmitters TX₁, TX₂ for further processing, as istraditional in the art.

An overview of the basic functional blocks of the MIMO decoder 18 is nowprovided according to one embodiment of the present invention. Asillustrated in FIG. 3, the MIMO decoder 18 may include an antenna layerreduction function 24, antenna layer selection function 26, subsetselection function 28, maximum likelihood solution function 30, and softdemapping function 32. Certain of these functions of the MIMO decoder 18operate in relation to a concept referred to as antenna layers. From theabove, all of the transmitted data streams TD_(n) are present in each ofthe received signals RS_(m). A given antenna layer is a logicalrepresentation of those portions of each of the received signals RS_(m)that correspond to a single transmitted data stream TD_(n). In otherwords, an antenna layer is effectively a cross section of each of thereceived signals RS_(m) for a given transmitted data stream TD_(n).

The antenna layer reduction function 24 and the antenna layer selectionfunction 26 cooperate with one another in an iterative fashion. On thefirst iteration, the antenna layer selection function 26 will select anantenna layer, which is associated with the least inverse channel gainbased on the overall channel matrix H, from all of the available antennalayers. Notably, the antenna layer associated with the least inversechannel gain directly corresponds to the antenna layer associated withthe highest signal to inference and noise ratio (SINR). The antennalayer selection function 26 will also generate an inverse channel gainvector {right arrow over (g)}_(min) for the selected antenna layer. Theinverse channel gain vector {right arrow over (g)}_(min) corresponds tothe inverse of a vector corresponding to the channel transfer functionsh_(tr) for the selected antenna layer. As will be described furtherbelow, the subset selection function 28 will use the inverse channelgain vector {right arrow over (g)}_(min) to generate an estimatedtransmit symbol {tilde over (s)} for the first transmit layer bymultiplying the inverse channel gain vector {right arrow over (g)}_(min)with the received signal vector {right arrow over (r)}. The antennalayer reduction function 24 will proceed with a second iteration basedon the selected antenna layer.

On the second iteration, the antenna layer reduction function 24 willremove the channel transfer functions h_(tr) associated with thepreviously selected antenna layer from the overall channel matrix H togenerate a reduced channel matrix H. In this example, reducing theoverall channel matrix H effectively removes the column of channeltransfer functions h_(tr) that correspond to the previously selectedantenna layer. From the remaining antenna layers, the antenna layerselection function 26 will then select another antenna layer that isassociated with the least inverse channel gain based on the reducedchannel matrix H. The antenna layer selection function 26 will alsogenerate an inverse channel gain vector {right arrow over (g)}_(min) forthis newly selected antenna layer.

For subsequent iterations, the antenna reduction layer 24 will removethe channel transfer functions h_(tr) for all of the previously selectedantenna layers from the overall channel matrix H to generate an evenfurther reduced channel matrix H. From the remaining antenna layers, theantenna layer selection function 26 will then select yet another antennalayer that is associated with the least inverse channel gain based onthe reduced channel matrix H. The antenna layer selection function 26will also generate an inverse channel gain vector {right arrow over(g)}_(min) for this newly selected antenna layer. This iterative processwill continue until each antenna layer has been addressed.

The subset selection function 28 also operates in an iterative fashionin conjunction with the antenna layer selection function 26 and theantenna layer reduction function 24. For the first iteration, the subsetselection function 28 estimates the transmitted symbol for the selectedantenna layer where, as indicated above, the estimated transmit symbolis referenced as {tilde over (s)}. The estimated transmit symbol {tildeover (s)} may be determined by multiplying the inverse channel gainvector {right arrow over (g)}_(min) for the selected layer by thereceived signal vector {right arrow over (r)} as follows:{tilde over (s)}={right arrow over (g)} _(min) {right arrow over (r)}·The inverse channel gain vector {right arrow over (g)}_(min) for theselected layer corresponds to the inverse of a column of channeltransfer functions h_(tr), which represents a channel transfer functionvector {right arrow over (h)} for the selected antenna layer.Multiplying these vectors results in a single value for the estimatedtransmit symbol {tilde over (s)}. An estimated transmit symbol {tildeover (s)} for a given layer is an initial approximation of a symbol thatwas originally transmitted from a corresponding one of the transmitantennas TA_(n).

During the first iteration, the subset selection function 28 may accessa constellation reference table, which provides all of the possibleconstellation points for the selected order of modulation. From thepossible constellation points, the subset selection function 28 selectsthe four closest constellation points that are most proximate to theestimated transmit symbol {tilde over (s)}. The four closestconstellation points that are selected represent candidate symbols andreferenced as:ŝ ₁ ⁽¹⁾ ,ŝ ₂ ⁽¹⁾ ,ŝ ₃ ⁽¹⁾, and ŝ ₄ ⁽¹⁾.These candidate symbols ŝ₁ ⁽¹⁾, ŝ₂ ⁽¹⁾, ŝ₃ ⁽¹⁾, and ŝ₄ ⁽¹⁾ are the fourreference symbols deemed most likely to correspond to the symboloriginally transmitted in the first selected antenna layer. Notably, forQPSK modulation, there are only four possible constellation points. Assuch, all of the possible constellation points are candidate symbols.

For the second iteration, the interference contribution of the firstselected antenna layer, which was selected during the first iteration,is effectively subtracted from the received signal vector {right arrowover (r)}. Theoretically, the interference contribution of the firstselected antenna layer can be estimated by multiplying the channeltransfer function vector {right arrow over (h)} (column of channeltransfer functions) for the first selected antenna layer and theactually transmitted symbol s as follows:interference contribution={right arrow over (h)}s.Unfortunately, only the estimated transmit symbol {tilde over (s)} andthe candidate symbols ŝ, which were selected based on the estimatedtransmit symbol {tilde over (s)}, are known at this time. Accordingly,the interference contributions for each of the candidate symbols ŝ ofthe first selected layer are estimated by multiplying the channeltransfer function vector {right arrow over (h)} for the first selectedantenna layer and a corresponding candidate symbol ŝ as follows:interference contribution={right arrow over (h)}ŝ.As a result, reduced received signal vectors {right arrow over (r)} forthe second iteration are calculated for each of the candidate symbols ŝidentified for the first selected antenna layer as follows:{right arrow over (r)} ⁽²⁾ ={right arrow over (r)} ⁽¹⁾ −{right arrowover (h)}ŝ,where {right arrow over (r)}⁽²⁾ is the received signal vector for thesecond iteration, and {right arrow over (r)}⁽¹⁾ is the received signalvector for the first iteration. In particular, since there are fourcandidate symbols, there will be four corresponding reduced receivedsignal vectors {right arrow over (r)}⁽²⁾ for the second iteration asfollows:{right arrow over (r)} ₁ ⁽²⁾ ={right arrow over (r)} ⁽¹⁾ −{right arrowover (h)}ŝ ₁ ⁽¹⁾;{right arrow over (r)} ₂ ⁽²⁾ ={right arrow over (r)} ⁽¹⁾ −{right arrowover (h)}ŝ ₂ ⁽¹⁾;{right arrow over (r)} ₃ ⁽²⁾ ={right arrow over (r)} ⁽¹⁾ −{right arrowover (h)}ŝ ₃ ⁽¹⁾; and{right arrow over (r)} ₄ ⁽²⁾ ={right arrow over (r)} ⁽¹⁾ −{right arrowover (h)}ŝ ₄ ⁽¹⁾.

For the second iteration, the subset selection function 28 estimatesfour transmitted symbols for the second selected antenna layer usingeach of the reduced received signal vectors {right arrow over (r)}⁽²⁾.This is accomplished by multiplying the inverse channel gain vector{right arrow over (g)}_(min) for the second selected layer by the eachof the reduced received signal vectors {right arrow over (r)}⁽²⁾ asfollows:{tilde over (s)} ₁ ⁽²⁾ ={right arrow over (g)} _(min) {right arrow over(r)} ₁ ⁽²⁾;{tilde over (s)} ₂ ⁽²⁾ ={right arrow over (g)} _(min) {right arrow over(r)} ₂ ⁽²⁾;{tilde over (s)} ₃ ⁽²⁾ ={right arrow over (g)} _(min) {right arrow over(r)} ₃ ⁽²⁾; and{tilde over (s)} ₄ ⁽²⁾ ={right arrow over (g)} _(min) {right arrow over(r)} ₄ ⁽²⁾;Again, the inverse channel gain vector {right arrow over (g)}_(min) forthe selected layer corresponds to the inverse of a column of channeltransfer functions h_(tr), which represents a channel transfer functionvector {right arrow over (h)} for the second selected antenna layer.

During the second iteration, the subset selection function 28 will againaccess the constellation reference table, which provides all of thepossible constellation points for the selected order of modulation. Fromthe possible constellation points, the subset selection function 28selects the four closest constellation points that are most proximate tothe each of the four estimated transmit symbols {tilde over (s)}₁ ⁽²⁾;{tilde over (s)}₂ ⁽²⁾; {tilde over (s)}₃ ⁽²⁾; and {tilde over (s)}₄ ⁽²⁾.As a result, there will be 16 candidate symbols, which are representedby:

-   ŝ_(j,1) ⁽²⁾, ŝ_(j,2) ⁽²⁾, ŝ_(j,3) ⁽²⁾, and ŝ_(j,4) ⁽²⁾, where j=1 to    4 and corresponds to one of the estimated transit symbols {tilde    over (s)}_(j) ⁽²⁾ for the second iteration and second selected    antenna layer.

This iterative process is provided for each of the available antennalayers. Assuming there are only two antenna layers, the subset selectionfunction 28 will generate and provide four candidate symbols (ŝ₁ ⁽¹⁾, ŝ₂⁽¹⁾, ŝ₃ ⁽¹⁾, and ŝ₄ ⁽¹⁾) for the first selected antenna layer along withthe sixteen candidate symbols (ŝ_(j,1) ⁽²⁾, ŝ_(j,2) ⁽²⁾, ŝ_(j,3) ⁽²⁾,and ŝ_(j,4) ⁽²⁾ where j=1 to 4) for the second selected antenna layer tothe maximum likelihood solution function 30.

Given the nature of the layering, each of the candidate symbols from thefirst selected antenna layer is associated with a unique set of fourcandidate symbols from the second selected antenna layer for a two-layerscenario. This association produces sixteen possible symbol pairs, wherea symbol pair is made up of one candidate symbol from the first selectedantenna layer and one symbol candidate from the second selected antennalayer. As a result, the maximum likelihood decoder solution functionprocesses each of the sixteen pairs of candidate symbols and selects thepair that is most likely to correspond to the pair of symbols originallytransmitted from the two transmit antennas TA₁, TA₂. In general, themaximum likelihood solution function 30 compares each pair of candidatesymbols to the received signal vector {right arrow over (r)} anddetermines which one of the candidate pairs most closely matches thereceived signal vector {right arrow over (r)}. The candidate pair thatmost closely matches the received signal vector {right arrow over (r)}is selected as the pair of symbols transmitted from the respectivetransmit antennas TA₁, TA₂ and is referred to as the maximum likelihoodsolution (MLS). The MLS is a vector of symbols corresponding to thecandidate pair, or group if three or more antenna layers are present,and is represented by

The MLS vector

is provided to the soft demapping function 32. Since the antenna layerhaving the highest SINR may not have been the first antenna layer, thesymbols in the MLS vector

may be reordered as necessary to place them in an order in which actualantenna layers are referenced. As such, the soft demapping function 32is able to associate the symbols in the MLS vector

with the corresponding antenna layer.

Each symbol in the MLS vector

is associated with a number of bits, depending on the type and order ofthe modulation. For example, each QPSK symbol represents two bits, each16-QAM symbol represents four bits, and each 64-QAM symbol representssix bits. As noted, the different antenna layers may support differentorders or types of modulation at the same time. The soft demappingfunction 32 receives the MLS vector

and processes each bit of each symbol in MLS vector

For each bit, the soft demapping function 32 determines the relativelikelihood of the bit being either a logic 0 or logic 1. In particular,the soft demapping function 32 calculates a log likelihood ratio (LLR)for each of these bits based on the channel matrix H and MLS vector

The LLR for a given bit is the relative measure of the likelihood thatthe bit is either a logic 0 or logic 1, which may correspond to anactual 0 and 1 or −1 and 1, respectively. The LLRs for the bits providethe output of the MIMO decoder 18 and are used to recover the originallytransmitted bits, which are processed as desired by the postdemodulation processor 22.

From the above, the various functions in the MIMO decoder 18 must carryout many computationally intensive mathematical operations, includingmatrix multiplication, inversion, division, and like manipulation. Inparticular, the antenna layer selection function 26 and the softdemapping function 32 often require significant matrix manipulations. Tocompound these issues, the iterative processing nature of thesefunctions has a potential to exponentially increase the number ofcomputations for any given iteration. Different embodiments of thepresent invention significantly reduce the computational intensityassociated with carrying out the functions of the antenna layerselection function 26 and the soft demapping function 32. Theseembodiments may be used alone or in conjunction in the MIMO decoder 18.A detailed description of a computationally efficient antenna layerselection function 26 is followed by a computationally efficient softdemapping function 32, according to different embodiments of the presentinvention.

With reference to FIG. 4, a functional block diagram is provided for anantenna layer selection function 26, according to one embodiment of thepresent invention. As noted above, the objective of the antenna layerselection function 26 is to analyze the channel matrix H and select anantenna layer having the minimum inverse channel gain (or highest SINR)and generate an inverse channel gain vector {right arrow over (g)}_(min)for the selected layer. This process is provided in an iterative manner,wherein a different antenna layer is selected for each iteration.Further, the channel matrix H is reduced for each successive iterationby removing the channel transfer functions h_(tr) for the previouslyselected antenna layers, as described above.

With continued reference to FIG. 4, the illustrated operations areprovided during a single iteration, which is operating on an overall orreduced channel matrix H. This iterative process is provided for eachcarrier or sub-carrier. Once the overall or reduced channel matrix H isavailable, the antenna layer selection function 26 will generate theHermitian transpose of the channel matrix H to generate a transposedchannel matrix H′ (block 100). The channel matrix H is then multipliedby the transposed channel matrix H′ to generate a product matrix [H′H](block 102). At this point in traditional antenna layer selectionoperations, a complete matrix inversion is provided for the productmatrix [H′H]. Such operation is extremely computationally intensive.

In one embodiment of the present invention, only a partial matrixinversion of the diagonal elements of the product matrix is provided,wherein the diagonal elements of the partially inverted matrix form avector, which is referred to as a diagonal vector, referenced as {rightarrow over (d)} (block 104). The elements of the diagonal vectorgenerally correspond to the inverse channel gain for the respectiveantenna layers. The diagonal vector {right arrow over (d)} may bemodified by one or more normalization factors μ (block 106). Thesenormalization factors are provided from a look-up table (LUT) (block108), and correspond to the type of modulation being employed by each ofthe layers represented in the channel matrix H. Notably, different typesof modulation, such as QPSK, QAM, 16-QAM, and the like, are associatedwith different modulation gains. These different gains have a directimpact on the channel transfer functions h_(tr) in the channel matrix H.The resulting impact generally leads to certain types of modulationsalways having apparently lower or higher inverse channel gains or SINRsrelative to other types of modulation. Accordingly, the antenna layerselection function 26 will effectively normalize the impact of thedifferent types of modulation used in the different antenna layers usinggain normalization factors μ.

Each antenna layer may be compensated with a different gainnormalization factor μ. In particular, different gain normalizationfactors may be used to multiply the different diagonal elements in thediagonal vector {right arrow over (d)} based on the type of modulationbeing employed at each antenna layer. Accordingly, if there are threeantenna layers represented in the channel matrix H, each antenna layermay employ a different type of modulation and may be compensated withdifferent gain normalization factors μ. Once the elements in thediagonal vector {right arrow over (d)} are multiplied by any appropriategain normalization factors μ, a normalized diagonal vector μ{right arrowover (d)} is created. The normalized diagonal vector μ{right arrow over(d)} is then processed to identify the smallest diagonal element in thenormalized diagonal vector μ{right arrow over (d)} (block 110). Next,the antenna layer selection function 26 will select the antenna layercorresponding to the smallest diagonal element in the diagonal vectorμ{right arrow over (d)} as the selected antenna layer for the iteration(block 112). Again, the selected antenna layer is the one antenna layerthat is associated with the least inverse channel gain or maximum SINR.At this point, the product matrix [H′H] is processed such that a partialmatrix inversion of the product matrix along the row that corresponds tothe selected antenna layer is computed (block 114). The computed row,which is a vector, is then multiplied by the Hermitian transposedchannel matrix H′ to generate the inverse channel gain vector {rightarrow over (g)}_(min) for the selected antenna layer (block 116).

With reference to FIG. 6, a soft demapping process is provided for ann×m MIMO system, according to one embodiment of the present invention.To facilitate the process, the soft demapping function 32 will receiveas inputs: the overall channel matrix H, the MLS vector

the diagonal vector {right arrow over (d)} (or other like function ofSINR or inverse channel gain), and a residual noise vector

The overall channel matrix H is an input to the MIMO decoder 18 from thechannel estimation circuitry 20. The MLS vector

is provided from the maximum likelihood solution function 30. Thediagonal vector {right arrow over (d)} is effectively the output of thepartial matrix inversion provided by block 104 of the antenna layerselection function 26 illustrated in FIG. 4.

The residual noise vector

corresponds to removing the influence of the MLS vector

from the received signal vector {right arrow over (r)}, and iscalculated as follows:

={right arrow over (r)}−H

where {right arrow over (r)} represents the received signal vector, Hrepresents the overall channel matrix, and

represents the maximum likelihood solution vector. The soft demappingfunction 32 provides an LLR for each bit that is represented by eachcandidate symbol ŝ_(MLS) in the MLS vector

Different levels of modulation will be associated with a differentnumber of bits, and thus corresponding LLRs. In one embodiment of thepresent invention, the LLR is calculated as follows:

${{LLR}_{i} = {\left\lbrack {x_{i} + {{Re}\left( {y_{i}^{*}\mspace{11mu} n_{s}} \right)}} \right\rbrack\frac{1}{d}}},$where LLR_(i) represents the LLR for the i^(th) bit for any givencandidate symbol ŝ_(MLS) within the MLS vector

d is the element within the diagonal vector {right arrow over (d)} (orother like measure of SINR or inverse channel gain), and n_(s) is adecorrelator value, which is defined further below. The values for x_(i)and y_(i) relate to the distance between the candidate symbol ŝ_(MLS)for the bit being processed, and the closest competitor symbol c_(i). Aswill be described further below, the values for x_(i) and y_(i) arepre-computed and stored in a look-up table, which is accessible by thesoft demapping function 32. By pre-computing these distance relatedvalues for x_(i) and y_(i), the computational intensity that is normallyrequired by the soft demapping function 32 is significantly reduced.

The decorrelator value n_(s) represents the residual noise in thenormalized constellation plane, and may be calculated as follows:

$n_{s} = {\frac{{\overset{\rightharpoonup}{h}}^{\prime}}{{\overset{\rightharpoonup}{h}}^{2}}{\overset{\overset{\rightharpoonup}{\sim}}{n}}_{r}}$where

represents the residual noise vector, {right arrow over (h)}′ representsthe Hermitian transpose of the channel transfer function {right arrowover (h)} for the selected antenna layer, and ∥{right arrow over (h)}∥²represents the squared norm value of the channel transfer function{right arrow over (h)} for the selected antenna layer. This techniquefor calculating the LLR for each bit of each candidate symbol ŝ_(MLS) ofthe MLS vector

is unique to one embodiment of the present invention, and represents asignificantly improved and very efficient technique for calculating theLLRs.

Prior to providing an example of how these equations may be implementedby the soft demapping function 32, an overview of how the LUT ispopulated with the appropriate values for x and y is provided. Withreference to FIG. 5, a constellation for a QPSK constellation isillustrated. The constellation includes four constellation points: A, B,C, and D. Each constellation point corresponds to a potential symbol inthe QPSK constellation, and each symbol represents one of two bits, b₀and b₁. One of the goals of the soft demapping function 32 is toidentify the closest competitor symbol for each bit b_(i). For theillustrated QPSK example, the closest competitor symbol for thecandidate symbol ŝ_(MLS) is determined for both bit b₁ and b₀. In thisexample, assume the candidate symbol ŝ_(MLS) corresponds to symbol D inthe QPSK constellation. For symbol D, b₁=1 and b₀=0. Initially, thesymbols in the constellation that are competing with b₁ are symbols Aand B. This is because symbols A and B correspond to bit b₁=0. Symbol Cdoes not compete with bit b₁ of symbol D, because bit b₁ of symbol C isequal to 1. Since bit b₁=0 for both symbol A and symbol B, these symbolsare considered to be competing symbols. Next, the closest competingsymbol to symbol D is determined. Based on proximity, symbol A isclosest to symbol D, and as such, symbol A is determined to be theclosest competing symbol for bit b₁ of symbol D.

The process is then repeated for bit b₀ of symbol D. Since bit b₀=0 forsymbol D, symbols B and C are competing symbols, because bit b₀=1 forsymbols B and C. Of symbols B and C, symbol C is closest to symbol D,and as such, symbol C is selected as the closest competing symbol forbit b₀ of symbol D. An x value and a y value are calculated based onthese respective competing symbols A and C.

In one embodiment, each bit b_(i) that has a value of either 0 or 1 canbe mapped into a value B_(i) that has a value of either +1 or −1.Accordingly, the following mapping scenarios are possible, depending onwhether or not the bits are effectively inverted. Implementation ofinversion may be based on any forward error correction that is done inthe post demodulation processor 22 during subsequent processing. Thefirst mapping scenario is provided as follows:b _(i)=0 to B _(i)=−1 andb _(i)=1 to B _(i)=+1.An alternative mapping equation is provided as follows:b _(i)=0 to B _(i)=+1 andb _(i)=1 to B _(i)=−1.

From the above, values of x_(i) and y_(i) are pre-computed as followsfor each possible scenario:x _(i) =B _(i) |ŝ _(MLS) −ĉ _(i)|²y _(i)=2 B _(i)(ŝ_(MLS) −ĉ _(i))wherein ŝ_(MLS) is the candidate symbol, and c_(i) is the closestcompeting symbol for the i^(th) bit.

Notably, each type of modulation may require its own table. For example,if a system supports QPSK, 16-QAM, and 64-QAM, a different table may beprovided for each of the three types of modulation. For QPSK modulation,each bit of each potential symbol will likely be associated with 2(x_(i), y_(i)) value sets. Since each bit may take one of two values,each value will be associated with a (x, y) value set. In the previousexample, where the candidate symbol ŝ_(MLS) corresponds to symbol D inthe QPSK modulation, b₁=1 will provide 1(x, y) value set; however, ifb₁=0, a different (x, y) value set would be provided. The same is truefor b₀ of symbol D. Further, each of the other symbols A, B, and C areaddressed in a similar fashion. During processing, the soft demappingfunction 32 need only identify the candidate symbol and select anappropriate (x, y) value set for each bit, depending on the value of thebit, from the LUT, instead of having to calculate the respective (x_(i),y_(i)) value sets on the fly.

With continued reference to FIG. 6, a process is provided for generatingthe LLR for a particular bit in a candidate symbol ŝ_(MLS). Initially,the soft demapping function 32 will access the overall channel matrix Hand select the channel transfer function vector {right arrow over (h)}from the overall channel matrix H for the selected antenna layer (block200). The norm of the channel transfer function vector {right arrow over(h)} is generated and then squared (block 202). The result is theninverted (block 204), and multiplied by the Hermitian transpose of thechannel transfer function vector {right arrow over (h)} (blocks 206 and208). The result of this multiplication is further multiplied by theresidual noise vector

to generate the decorrelator value n_(s) (block 210).

During this time, the soft demapping function 32 will also select thecandidate symbol ŝ_(MLS) from the MLS vector

for the selected antenna layer (block 212). The selected candidatesymbol ŝ_(MLS) is used by the LUT to generate corresponding (x_(i),y_(i)) value sets for each bit of the candidate symbol ŝ_(MLS) (block214). The conjugate of y_(i) is multiplied by the decorrelator valuen_(s) (block 216), and the real part of the product (block 218) is addedto x_(i) (block 220).

Meanwhile, the soft demapping function 32 will select the diagonalelement d from the inverse channel gain vector {right arrow over (d)}for the selected antenna layer (block 222). The diagonal element d isinverted (block 224) and multiplied (block 226) by the output of block220 (x_(i)+Re(y_(i)*n_(s))) to generate the LLR_(i) for the i^(th) bitin the candidate symbol ŝ_(MLS). Notably, the decorrelator value n_(s)and the inverse channel gain element d will not change for each of thebits of the candidate symbol ŝ_(MLS). As such, the LUT will provide theappropriate x_(i) and y_(i) (or y_(i)*) such that an LLR is generatedfor each bit of the candidate symbol ŝ_(MLS).

Again, the above process is particularly pertinent for n×m MIMO systemswhere there are n transmit antennas TA_(n) and m receive antennasRA_(m). The process may be further simplified for 2×m MIMO systems wherethere are two transmit antennas TA_(n) (n=2) and m receive antennasRA_(m). In a 2×m MIMO system, there are only two antenna layers, becausethere are only two transmit antennas TA_(n). In one embodiment of theinvention, the LLR for a 2×m system for each bit of each candidatesymbol ŝ_(MLS) is calculated as follows:

${LLR}_{i} = {\frac{\Delta}{{{\overset{\rightharpoonup}{h}}_{1}}^{2}{{\overset{\rightharpoonup}{h}}_{2}}^{2}}\left( {{x_{i}{\overset{\rightarrow}{h}}^{2}} + {{Re}\left( {y_{i}^{*}\mspace{14mu}{\overset{\rightharpoonup}{h}}^{\prime}\mspace{14mu}{\overset{\overset{\rightharpoonup}{\sim}}{n}}_{r}} \right)}} \right)}$where {right arrow over (h)}₁ is a first of two channel transferfunctions, {right arrow over (h)}₂ is a second of the two channeltransfer functions, and

is the residual noise vector. x_(i) and y_(i) are provided by a look-uptable as described above. The Δ represents a determinant of [H′H]⁻¹,where H′ is the Hermitian transpose of the overall channel matrix H.

With reference to FIG. 7, an exemplary process for calculating LLR_(i)for the i^(th) bit of a candidate symbol ŝ_(MLS) for an MLS vector

is illustrated. The process follows the preceding equation. Initially,the soft demapping function 32 will select the channel transfer functionvector {right arrow over (h)} from the overall channel matrix H for theselected antenna layer (block 300). The Hermitian transpose of thechannel transfer function {right arrow over (h)} (block 302) ismultiplied by the residual noise vector

(block 304).

Meanwhile, the soft demapping function 32 will select a candidate symbolŝ_(MLS) from the MLS vector

for the selected antenna layer (block 306). The candidate symbol ŝ_(MLS)is used by the LUT to select the (xi, yi) value sets for each bit of thecandidate symbol ŝ_(MLS) in sequence (block 308). The product of theHermitian transpose of the channel transfer function vector {right arrowover (h)} and the residual noise vector

is multiplied by the conjugate of y_(i) (block 310), and the real partof the resultant product is taken for further processing (block 312).

To facilitate the process, the soft demapping function 32 will take asinputs two squared elements, ∥{right arrow over (h)}₁μ² and ∥{rightarrow over (h)}₂∥², corresponding to the squared norm of the two channeltransfer function vectors {right arrow over (h)}₁ and {right arrow over(h)}₂ respectively. The soft demapping function 32 will select ∥{rightarrow over (h)}∥² from these two squared elements for the selectedantenna layer (block 314) and then multiplied by x_(i) (block 316). Theresulting product (x_(i)∥{right arrow over (h)}∥²) is added to the realpart of y_(i)*{right arrow over (h)}′

(block 318).

In parallel, the squared elements for each antenna layer, ∥{right arrowover (h)}₁∥² and ∥{right arrow over (h)}₂∥², are multiplied (block 320)and the resulting product is inverted (block 322). The inverted resultis multiplied by the aforementioned determinant (block 324) to providethe following:

$\frac{\Delta}{{{\overset{\rightharpoonup}{h}}_{1}}^{2}{{\overset{\rightharpoonup}{h}}_{2}}^{2}}$The outputs of blocks 318 and 324 are multiplied to generate the LLR_(i)for the i^(th) bit of the candidate symbol ŝ_(MLS) (block 326). As notedabove, the LUT will sequentially step through the (x_(i), y_(i)) valuesets for each of the bits in the candidate symbol ŝ_(MLS) to generateeach of the respective LLRs.

The terms “transmitter,” “transmit,” “receiver,” and “receive” are usedonly with reference to a given direction for communication link. Therespective antennas may act as both receive and transmit antennasdepending on the relative direction of communications. Accordingly, theconcepts of the present invention may be employed in any type ofwireless node, such as a fixed or mobile user element, base station,access point, or the like.

In the above description and the following claims, the terms “row” and“column” are relative terms and may be used interchangeably with respectto one another to identify those elements associated with one another indifferent dimensions. As such, the column of a matrix may refer to thehorizontal elements in the matrix, while the row of a matrix may referto the vertical elements in the matrix, and vice versa.

Those skilled in the art will recognize improvements and modificationsto the preferred embodiments of the present invention. All suchimprovements and modifications are considered within the scope of theconcepts disclosed herein and the claims that follow.

1. A method comprising: providing a look-up table that comprisesdistance information corresponding to a distance between a potentialcandidate symbol and a most proximate competing symbol for each bit of aplurality of potential candidate symbols; receiving a plurality ofcandidate symbols that are provided in a maximum likelihood solution andcorrespond to a plurality of antenna layers of a multiple input multipleoutput (MIMO) wireless communication system; selecting a first candidatesymbol from the plurality, of candidate symbols, wherein the firstcandidate symbol corresponds to a first potential candidate symbol ofthe plurality of candidate symbols; obtaining the distance informationfor each bit of the first potential candidate symbol from the look-uptable; determining likelihood indicium for each bit of the firstcandidate symbol as a function of the distance information for each bitof the first potential candidate symbol, wherein the likelihood indiciumfor a given bit is indicative of a likelihood that a value for the givenbit is a logic 1 or a logic 0; determining a product of a maximumlikelihood solution vector comprising the plurality of candidate signalsand an overall channel matrix; and subtracting the product from thereceived signal vector to determine a residual noise vector, wherein thelikelihood indicium for each bit is a further function of the residualnoise vector.
 2. The method of claim 1 wherein the likelihood indiciumfor each bit is a further function of a plurality of channel transferelements for a first antenna layer of the plurality of antenna layers inwhich the first candidate symbol was received.
 3. The method of claim 2further comprising: obtaining a received signal vector representative ofsignals received at a plurality of antennas.
 4. The method of claim 3further comprising generating a decorrelation value n_(x) based on${n_{s} = {\frac{{\overset{\rightharpoonup}{h}}^{\prime}}{{\overset{\rightharpoonup}{h}}^{2}}{\overset{\overset{\rightharpoonup}{\sim}}{n}}_{r}}},$where {right arrow over (ñ)}_(r) represents the residual noise, vector,{right arrow over (h)}′ represents a Hermitian transpose of a channeltransfer function vector {right arrow over (h)} comprising the pluralityof channel transfer elements for the first antenna layer, and ∥{rightarrow over (h)}∥² represents a squared norm value of the channeltransfer function vector {right arrow over (h)} for the first antennalayer.
 5. The method of claim 1 wherein the likelihood indicium for eachbit is determined based on [x+Rc(y*n_(x))]1/d, where x and y aredistance information for each bit, n_(x) represents a decorrelationvalue, Re(complex number) represents a real part of the complex number,and d is indicative of inverse channel gain.
 6. The method of claim 5further comprising generating the decorrelation value n_(x) based on${n_{s} = {\frac{{\overset{\rightharpoonup}{h}}^{\prime}}{{\overset{\rightharpoonup}{h}}^{2}}{\overset{\overset{\rightharpoonup}{\sim}}{n}}_{r}}},$where {right arrow over (ñ)}_(r) represents a residual noise vector,{right arrow over (h)}′ represents a Hermitian transpose of a channeltransfer function vector {right arrow over (h)} comprising the pluralityof channel transfer elements for the first antenna layer, and ∥{rightarrow over (h)}∥² represents a squared norm value of the channeltransfer function vector {right arrow over (h)} for the first antennalayer.
 7. The method of claim 5 further comprising: obtaining a channelmatrix comprising channel transfer elements corresponding to differentchannels in the MIMO wireless communication system, wherein each columnof channel transfer elements of the channel matrix corresponds to oneantenna layer of the plurality of antenna layers, each of the pluralityof antenna layers associated with a transmitted data stream that wastransmitted from a transmit antenna; generating a Hermitian transpose ofthe channel matrix; generating a product of the Hermitian transpose ofthe channel matrix and the channel matrix to provide a first producthaving a plurality of diagonal elements; and generating a partial matrixinversion for the plurality of diagonal elements of the first product toprovide a diagonal vector, wherein d is a function of the diagonalvector.
 8. A method comprising: providing a look-up table that comprisesdistance information corresponding to a distance between a potentialcandidate symbol and a most proximate competing symbol for each bit of aplurality of potential candidate symbols; receiving a plurality ofcandidate symbols that are provided a maximum likelihood solution andcorrespond to a plurality of antenna layers of a multiple input multipleoutput (MIMO) wireless communication system; selecting a first candidatesymbol from the plurality of candidate symbols, wherein the firstcandidate symbol corresponds to a first potential candidate symbol ofthe plurality of candidate symbols; obtaining the distance informationfor each bit of the first potential candidate symbol from the look-uptable; and determining likelihood indicium for each bit of the firstcandidate symbol as a function of the distance information for each bitof the first potential candidate symbol, wherein the likelihood indiciumfor a given bit is indicative of a likelihood that a value for the givenbit is a logic 1 or a logic 0, wherein symbols transmitted in a firstdata stream corresponding to a first of the plurality of antenna layersare modulated using a first type of modulation, symbols transmitted in asecond data stream corresponding to a second of the plurality of antennalayers are modulated using a second type of modulation, which isdifferent than the first type of modulation, and the look-up tablecomprises distance information corresponding to the distance between thepotential candidate symbol and the most proximate competing symbol foreach bit of a plurality potential candidate symbols for both the firsttype of modulation and the second type of modulation.
 9. The method ofclaim 8 wherein the first type of modulation and the second type ofmodulation are selected from a group consisting of quadrature phaseshift keying modulation, n^(th) order quadrature amplitude modulationwhere n is an integer and any constellation based modulation.
 10. Themethod of claim 1 further comprising: selecting a second candidatesymbol from the plurality of candidate symbols, wherein the secondcandidate symbol corresponds to a second potential candidate symbol ofthe plurality of candidate symbols; obtaining the distance informationfor each bit of the second potential candidate symbol from the look-uptable; and determining likelihood indicium for each bit of the secondcandidate symbol as a function of the distance information for each bitof the second potential candidate symbol, wherein the likelihoodindicium for a given bit is indicative of a likelihood that a value forthe given bit is a logic 1 or a logic
 0. 11. The method of claim 10wherein the first candidate symbol corresponds to a different type ofmodulation than the second candidate symbol.
 12. The method of claim 11wherein transmitted symbols corresponding to the first candidate symboland the second candidate symbol are substantially simultaneouslytransmitted from different antennas using a common wireless resource.13. The method of claim 1 wherein there are two antenna layers, aid thelikelihood indicium for each bit is determined based on${\frac{\Delta}{{{\overset{\rightharpoonup}{h}}_{1}}^{2}{h_{2}}^{2}}\left( {{x{{\overset{\rightharpoonup}{h}}_{j}}^{2}} + {{Re}\left( {y^{*}\mspace{14mu}{\overset{\rightharpoonup}{h}}_{j}^{\prime}\mspace{14mu}{\overset{\overset{\rightharpoonup}{\sim}}{n}}_{r}} \right)}} \right)},$where j corresponds to j^(th) antenna layer for the first candidatesymbol being processed, {right arrow over (h)}₁ is a first of twochannel transfer function vectors {right arrow over (h)}, {right arrowover (h)}₂ is a second of the two channel transfer functions vectors,{right arrow over (h)}_(j) is the channel transfer function vector forthe j^(th) antenna layer, {right arrow over (h)}_(j)′ is the Hermitiantranspose of {right arrow over (h)}_(j), ∥{right arrow over (h)}∥²represents a squared norm value of the channel transfer function vector{right arrow over (h)}_(j), {right arrow over (ñ)}_(r) is a residualnoise vector, x and y are distance information for each bit of the firstcandidate symbol, Re(complex number) represents a real part of thecomplex number, and Δ represents a determinant of [H′H]⁻¹, where H′ isthe Hermitian transpose of the overall channel matrix H.
 14. A multipleinput multiple output (MIMO) decoding system comprising: a look-up tablecomprising distance information corresponding to a distance between apotential candidate symbol and a most proximate competing symbol foreach bit of a plurality of potential candidate symbols; and a MIMOdecoder configured to: receive a plurality of candidate symbols that areprovided in a maximum likelihood solution and correspond to a pluralityof antenna layers of a MIMO wireless communication system; select afirst candidate symbol from the plurality of candidate symbols, whereinthe first candidate symbol corresponds to a first potential candidatesymbol of the plurality of candidate symbols; obtain the distanceinformation for each bit of the first potential candidate symbol fromthe look-up table; determine likelihood indicium for each bit of thefirst candidate symbol as a function of the distance information foreach bit of the first potential candidate symbol, wherein the likelihoodindicium for a given bit is indicative of a likelihood that a value forthe given bit is a logic 1 or a logic 0; determine a product of amaximum likelihood solution vector comprising the plurality of candidatesignals and an overall channel matrix; and subtract the product from thereceived signal vector to determine a residual noise vector, wherein thelikelihood indicium for each bit is a further function of the residualnoise vector.
 15. The MIMO decoding system of claim 14 wherein thelikelihood indicium for each bit is a further function of a plurality ofchannel transfer elements for a first antenna layer of the plurality ofantenna layers in which the first candidate symbol was received.
 16. TheMIMO decoding system of claim 15 wherein the MIMO decoder is furtheradapted to: obtain a received signal vector representative of signalsreceived at a plurality of antennas.
 17. The MIMO decoding system ofclaim 16 wherein the MIMO decoder is further adapted to generate adecorrelation value n_(s) based on${n_{s} = {\frac{{\overset{\rightharpoonup}{h}}^{\prime}}{{\overset{\rightharpoonup}{h}}^{2}}{\overset{\overset{\rightharpoonup}{\sim}}{n}}_{r}}},$where {right arrow over (ñ)}_(r) represents the residual noise vector,{right arrow over (h)}′ represents a Hermitian transpose of a channeltransfer function vector {right arrow over (h)} comprising the pluralityof channel transfer elements for the first antenna layer, and ∥{rightarrow over (h)}∥² represents a squared norm value of the channeltransfer function vector {right arrow over (h)} for the first antennalayer.
 18. The MIMO decoding system of claim 14 wherein the likelihoodindicium for each bit is determined based on${\left\lbrack {x + {{Re}\left( {y^{*}\mspace{14mu} n_{s}} \right)}} \right\rbrack\frac{1}{d}},$where x and y are distance information for each bit, n_(s) represents adecorrelation value, Re(complex number) represents a real part of thecomplex, number, and d is indicative of inverse channel gain.
 19. TheMIMO decoding system of claim 18 wherein the MIMO decoder is furtheradapted to generate the decorrelation value n_(s) based on${n_{s} = {\frac{{\overset{\rightharpoonup}{h}}^{\prime}}{{\overset{\rightharpoonup}{h}}^{2}}{\overset{\overset{\rightharpoonup}{\sim}}{n}}_{r}}},$where {right arrow over (ñ)}_(r) represents a residual noise vector,{right arrow over (h)}′ represents a Hermitian transpose of a channeltransfer function vector {right arrow over (h)} comprising the pluralityof channel transfer elements for the first antenna layer, and ∥{rightarrow over (h)}∥² represents a squared norm value of the channeltransfer function vector {right arrow over (h)} for the first antennalayer.
 20. The MIMO decoding system of claim 18 wherein the MIMO decoderis further adapted to: obtain a channel matrix comprising channeltransfer elements corresponding to different channels in the MIMOwireless communication system, wherein each column of channel transferelements of the channel matrix corresponds to one antenna layer of theplurality of antenna layers, each of the plurality of antenna layersassociated with a transmitted data stream that was transmitted from atransmit antenna; generate a Hermitian transpose of the channel matrix;generate a product of the Hermitian transpose of the channel matrix andthe channel matrix to provide a first product having a plurality ofdiagonal elements; and generate a partial matrix inversion for theplurality of diagonal elements of the first product to provide adiagonal vector, wherein d is a function of the diagonal vector.
 21. TheMIMO decoding system of claim 14 wherein symbols transmitted in a firstdata stream corresponding to a first of the plurality of antenna layersare modulated using a first type of modulation, symbols transmitted in asecond data stream corresponding to a second of the plurality of antennalayers are modulated using a second type of modulation, which isdifferent than the first type of modulation, and the look-up tablecomprises distance information corresponding to the distance between thepotential candidate symbol and the most proximate competing symbol foreach bit of a plurality of potential candidate symbols for both thefirst type of modulation and the second type of modulation.
 22. The MIMOdecoding system of claim 21 wherein the first type of modulation and thesecond type of modulation are selected from a group consisting ofquadrature phase shift keying modulation, n^(th) order quadratureamplitude modulation where n is an integer, and any constellation basedmodulation.
 23. The MIMO decoding system of claim 14 wherein the MIMOdecoder is further adapted to: select a second candidate symbol from theplurality of candidate symbols, wherein the second candidate symbolcorresponds to a second potential candidate symbol of the plurality ofcandidate symbols; obtain the distance information for each bit of thesecond potential candidate symbol from the look-up table; and determinelikelihood indicium for each bit of the second candidate symbol as afunction of the distance information for each bit of the secondpotential candidate symbol, wherein the likelihood indicium for a givenbit is indicative of a likelihood that a value for the given bit is alogic 1 or a logic
 0. 24. The MIMO decoding system of claim 23 whereinthe first candidate symbol corresponds to a different type of modulationthan the second candidate symbol.
 25. The MIMO decoding system of claim14 wherein there are two antenna layers, and the likelihood indicium foreach bit is determined based on${\frac{\Delta}{{{\overset{\rightharpoonup}{h}}_{1}}^{2}{h_{2}}^{2}}\left( {{x{{\overset{\rightharpoonup}{h}}_{j}}^{2}} + {{Re}\left( {y^{*}\mspace{14mu}{\overset{\rightharpoonup}{h}}_{j}^{\prime}\mspace{14mu}{\overset{\overset{\rightharpoonup}{\sim}}{n}}_{r}} \right)}} \right)},$where j corresponds to a j^(th) antenna layer for the first candidatesymbol being processed, {right arrow over (h)}₁ is a first of twochannel transfer function vectors {right arrow over (h)}, {right arrowover (h)}₂ is a second of the two channel transfer functions vectors,{right arrow over (h)}_(j) is the channel transfer function vector forj^(th) antenna layer, {right arrow over (h)}_(j)′ is a Hermitiantranspose of {right arrow over (h)}_(j), ∥{right arrow over (h)}_(j)∥²represents a squared norm value of the channel transfer function vector{right arrow over (h)}_(j), {right arrow over (ñ)}_(r) is a residualnoise vector, x and y are distance information for each bit of the firstcandidate symbol, Re(complex number) represents a real part of thecomplex number, and Δ represents a determinant of [H′H]⁻¹, where H′ is aHermitian transpose of the overall channel matrix H.